home *** CD-ROM | disk | FTP | other *** search
/ Chip: Special XP & Vista / Chip Spesial XP & Vista.iso / 1_Audio_Video / MediaCoder / MediaCoder-0.6.1.4098.exe / extensions / _include / domhelper.js next >
Text File  |  2008-02-16  |  2KB  |  109 lines

  1. function getNextNode(node)
  2. {
  3.     do {
  4.         node = node.nextSibling;
  5.     } while (node && node.nodeType!=1);
  6.     return node;
  7. }
  8.  
  9. function getChildNode(node)
  10. {
  11.     node = node.firstChild;
  12.     while (node && node.nodeType != 1) {
  13.         node = node.nextSibling;
  14.     }
  15.     return node;
  16. }
  17.  
  18. function getLastChildNode(node)
  19. {
  20.     node=node.lastChild;
  21.     while (node && node.nodeType!=1) {
  22.         node=node.previousSibling;
  23.     }
  24.     return node;
  25. }
  26.  
  27. function findChildNode(node, name)
  28. {
  29.     node = node.firstChild;
  30.     while (node && node.nodeName != name) {
  31.         node = node.nextSibling;
  32.     }
  33.     return node;
  34. }
  35.  
  36. function getNodeValue(node)
  37. {
  38.     return node.firstChild ? node.firstChild.nodeValue : null
  39. }
  40.  
  41. function getParentNode(node)
  42. {
  43.     return node.parentNode;
  44. }
  45.  
  46. function getNodeByName(node, name)
  47. {
  48.     for (; node && node.nodeName != name; node = getNextNode(node));
  49.     return node;
  50. }
  51.  
  52. function getChildNodeValue(node, name)
  53. {
  54.     for (node = getChildNode(node); node && node.nodeName != name; node = getNextNode(node));
  55.     return node ? getNodeValue(node) : null;
  56. }
  57.  
  58. function getNodeByAttribute(node, name, attrname, attrvalue)
  59. {
  60.     for (; node; node = getNextNode(node)) {
  61.         if  (node.nodeName == name && node.getAttribute(attrname) == attrvalue)     return node;
  62.     }
  63.     return null;
  64. }
  65.  
  66. function addAttribute(doc, node, attrname, attrvalue)
  67. {
  68.     var attr = doc.createAttribute(attrname);
  69.     attr.value= attrvalue;
  70.     node.setAttributeNode(attr);
  71.     return attr;
  72. }
  73.  
  74. function addElementNode(doc, node, name)
  75. {
  76.     var elementNode = doc.createElement(name);
  77.     node.appendChild(elementNode);
  78.     return     elementNode;
  79. }
  80.  
  81. function addTextNode(doc, node, text)
  82. {
  83.     var textNode = doc.createTextNode(text);
  84.     node.appendChild(textNode);
  85.     return     textNode;
  86. }
  87.  
  88. function removeFirstChild(node)
  89. {
  90.     var c = getChildNode(node);
  91.     return c?node.removeChild(c):null;
  92. }
  93.  
  94. function removeLastChild(node)
  95. {
  96.     var c = getLastChildNode(node);
  97.     return c?node.removeChild(c):null;
  98. }
  99.  
  100. function removeChildren(node)
  101. {
  102.     var c = getChildNode(node);
  103.     while(c) {
  104.         var n=getNextNode(c);
  105.         node.removeChild(c);
  106.         c=n;
  107.     }
  108. }
  109.